1. Field of the Invention
The present invention relates to a numerical controller and especially relates to a numerical controller which enables modification of a reference value of a specific control point while maintaining a difference between reference values of control points.
2. Description of the Related Art
As a method for driving and controlling respective control axes in synchronization with a motion of a reference axis, an operation function based on tabular data is well known in which positional information of control axes is preliminarily stored in tabular data in association with a position of a reference axis and respective control axes are operated in synchronization with the reference axis based on the information stored in the tabular data. In this operation function, tabular data in which a position of an axis or an auxiliary function such as an M code based on time, an axis position, or a spindle position are set is preliminarily stored in a memory or a storage device connected through a network and respective axes and the auxiliary function are controlled while sequentially reading the tabular data.
In Japanese Patent Application Laid-Open No. 59-177604 and Japanese Patent Application Laid-Open No. 2003-303005, a path table operation function utilizing the operation function based on tabular data or a numerical controller which is called an electronic cam controller is disclosed. Accordingly, a movement of a tool free from a machining program is enabled and reduction in machining time and increase in machining precision can be realized.
In a conventional operation based on tabular data, reference values described in tabular data and coordinate values of an axis or a spindle, which correspond to the reference values, are set as control points and a movement amount is calculated based on the two control points which are set as a start point and an end point. Specifically, from a reference value and a coordinate value of an axis or a spindle on a control point which is a start point and a reference value and a coordinate value of an axis or a spindle on a control point which is an end point, a differences of reference values and a difference of coordinate values of an axis or a spindle between two points are calculated, and a movement amount per unit reference value is calculated.
FIG. 7 illustrates an example of conventional axis control using tabular data.
Tabular data <TIME_TABLE_0001_X> is set as tabular data which controls an X axis based on time. L denotes a reference value (reference time: millisecond (msec) unit) and X denotes a coordinate value (millimeter (mm) unit) of the X axis, which corresponds to the reference value. When a current reference value is 1000 msec, the X axis moves between two control points which are a start point on a reference value 1000 msec and a coordinate value 100.0 mm and an end point on a reference value 2000 msec and a coordinate value 200.0 mm.
FIG. 8 is a schematic block diagram illustrating a numerical controller for calculating a movement amount.
In a numerical controller 100 of a prior art technique, command blocks which are sequentially read by a read unit (not illustrated) are notified to a distribution processing unit 130 as two control points which are a start point and an end point, a movement amount per unit reference value is obtained at the distribution processing unit 130 from a difference of reference values between the two control points and a difference of coordinate values between the two control points, and the obtained movement amount is notified to a motor control unit (not illustrated).
In the example of the X axis control using the tabular data <TIME_TABLE_0001_X>, a start point is set on the reference value 1000 msec and the coordinate value 100.0 mm, an end point is set on the reference value 2000 msec and the coordinate value 200.0 mm, and a movement amount per unit reference value can be calculated, in the distribution processing unit 130, as 0.1 mm/1 msec from the difference of the reference values, which is 1000 msec (=2000 msec-1000 msec) and the difference of the coordinate values, which is 100.0 mm (=200.0 mm-100.0 mm).
In such conventional operation based on tabular data, when a reference value on a certain control point is changed, a difference between the reference value of the control point and a reference value of a next control point is changed disadvantageously. Therefore, it is necessary to change all reference values of subsequent control points, based on the changed reference value of the control point, so as not to change a difference of reference values between control points (that is, so as not to change a movement amount per unit reference value).
FIG. 9 illustrates tabular data <TIME_TABLE_0002_X> which is obtained by changing a reference value L2000 of tabular data <TIME_TABLE_0001_X> to a reference value L1800, as an example. When <1> of the tabular data <TIME_TABLE_0002_X> is modified, L3000 and L4000 need to be modified to L2800 (<2>) and L3800 (<3>) respectively so as not to change the difference between reference values of <1> and <2> and the difference between reference values of <2> and <3>.
When such change is performed, an operator modifies respective data while taking into account differences of reference values between control points. However, the change requires time because it is necessary to perform the modification while checking a plurality of numerical values and thus, there is a problem in that a heavy load is imposed on an operator.
Here, in the prior art technique, even though a reference value of a specific control point is modified, a difference between the modified reference value of the specific control point and reference values of the subsequent control points is not changed in a case of an incremental command. However, absolute commands are often used for reference values in tabular data so as to take a view of a whole cycle time and to produce tabular data synchronized among paths and control axes. Thus, simply using incremental commands could not solve the afore-mentioned problem.